ロジカルシンキング

論理的思考力

富士山を動かすのに、どれだけ時間がかかるでしょう。

これは、マイクロソフトの入社面接で質問されたものとのことです。
あなたはどう回答しますか?

「そんなこと実際にできるわけがない。できないことをできると安請け合いするのではなく、できないことはできないとはっきり伝える」
と答えますか?
それとも、次のような対応をしますか?
「富士山とは、どこまでの範囲を指すのでしょうか。また、動かす先はどこになるのでしょうか。そういった定義や手法が明確でないと、工数を見積もれません」

全世界でピアノの調律師は何人いますか?

グーグルの入社試験では上記のような質問があったようです。
こちらだと、富士山のような曖昧さは無く、全世界のピアノ調律師を一人ずつカウントすれば一意に決まる対象です。
この質問に対し、あなたはどう回答しますか?

フェルミ推定

富士山の問いも、ピアノ調律師の問いも、正確な答えを出してほしいわけではありません。
問いに対する答えを求めるプロセスを組み立てることができるか、答えを導きだす考え方を相手にわかりやすく伝えることができるか、を確認したいというものです。

富士山の問いでは、動かすための量=富士山の総量を算出する方法を答えた上で、次にその総量を移動させるために必要となる時間を提示する、というのが回答になります。
ピアノ調律師の問いには、調律すべきピアノが全世界に何台存在するかを求め、調律する頻度から何人くらいの調律師がいないと困るか=必要か、と考えます。

あらためて、問いに対する答えを考えてみてください。










富士山を動かすのに、どれだけ時間がかかるでしょう。

富士山の高さを「3800m」として、裾野の底辺の直径を仮に約10倍とみなすと、その円錐形の体積は「1兆6000億m3」となります。
頂上の平らな部分や中腹のえぐれている部分などを差し引き、富士山の体積は「1兆5000億m3」と推定しましょう。
この総量を、例えば10tダンプカーで運搬するとした場合、土木業界では1m3を1.8t程度として計算することが多いので10tだと約5.6m3になります。
したがって、富士山の総量を運搬するには、10tダンプカーがおおよそ2700億台必要というです。
ここで、ある人がダンプカー1台分の作業を行なうには1日はかかると仮定した場合、富士山を動かす時間は約2700億人日と導き出されます。

全世界でピアノの調律師は何人いますか?

ピアノ調律師の人数は、次の式で求められるのでは、とまずは考えましょう。
「世界中のピアノの台数」×「年間調律頻度」÷「調律師1人が行なう年間調律数」
2019年の世界人口は77億人とされています。
日本でのピアノ保有率は「10世帯に1世帯」という情報もあるようですが、世界規模での統計値が存在するとは思えず、そこで世界人口の1%の割合でピアノが存在すると仮定し7700万台のピアノが存在しているとします。
また、ピアノは保有しているものの使われていないケースがあると想定し、使用率を25%とみなし調律対象のピアノは約2000万台と推定します。
年間調律頻度としては、ピアノ1台の調律は平均して1年に1回行なわれるものと考えます。
ピアノ調律師は、1日に3台のピアノを調律できますが、週休2日制から1年では約250日働き、年間の調律台数は750台となります。
以上から、2000万台×1÷750=約2.7万人ということになります。

実際には調査することが難しいような捉えどころのない量に対し、いくつかの手掛かりを元に論理的に推論して短時間で概算することを、フェルミ推定といいます。

フェルミ推定とは、ローマ出身の物理学者エンリコ・フェルミに由来して名付けられたものです。
彼は、新規の放射性同位元素を数多く作り1938年にノーベル物理学賞を受賞し、また、マンハッタン計画に参画して世界初の原子炉の運転に成功し「核時代の建設者」あるいは「原子爆弾の建設者」などとも呼ばれる、世界最高レベルの業績を残した物理学者です。
フェルミ推定で特に知られているものは「アメリカのシカゴには何人のピアノの調律師がいるか?」というもので、フェルミ自身がシカゴ大学の学生に対して出題したとされています。
この問いに対しては、次のような概算をします。


1. シカゴの人口は300万人とする
2. シカゴでは、1世帯あたりの人数を平均3人程度とする
3. 10世帯に1台の割合でピアノを保有している世帯があるとする
4. ピアノ1台の調律は平均して1年に1回行うとする
5. 調律師が1日に調律するピアノの台数は3台とする
6. 週休二日とし、調律師は年間に約250日働くとする

上述の仮定を基にして、次のように推論します。


1. シカゴの世帯数は、300万÷3=100万世帯程度
2. シカゴでのピアノの総数は、100万÷10=10万台程度
3. ピアノの調律は、年間に10万件程度
4. ピアノ調律師1人が1年間に250×3=750台程度を調律
5. したがってピアノ調律師は10万÷750=130人程度と推定

フェルミ推定は、前提や推論の方法によって結論は大きく変動することとなりますが、前提の妥当性と推論の論理性が結論の確からしさにつながります。

どんな考え方で答えを導き出そうとしているのか、という問題解決能力や論理的な思考力をチェックするため、マイクロソフトやグーグルといった企業は採用面接でフェルミ推定を模倣したケーススタディを行なっていたようです。
マイクロソフトやグーグル、それにオラクルなども採用面接では、フェルミ推定だけでなく他にも思考力や発想力を試すテストを行なっていたようです。

採用面接試験

(1)5リットル入る容器が1個と、3リットルが入る容器が1個ある。水はいくらでも使えるものとして、この二つの容器を使って4リットルの水を量るにはどうすればいいですか。

(2)天国への扉と地獄への扉があり、門番がいる。1人は正直者で、1人は必ず嘘をつく。どんな質問をすれば天国に行けるでしょうか?

(3)錠剤の入ったビンが5本あります。そのうち1本だけ、すべての錠剤が汚染されているものとします。通常の錠剤の重さは10gですが、汚染された錠剤は9gです。秤があり1度だけ重さを量ることが許されています時、汚染されているビンをどうやって見分けますか?

(4)箱の中身を3回の質問で答えなさい。ただし面接官は「はい」か「いいえ」でしか答えません。

(5)時計の長針と短針は1日に何回重なりますか?

(6)次にくる行は?
___
___11
___21
___1211
___111221

(7)テーブルに裏表のあるコインが100枚あり、10枚は表が、90枚は裏が上になっています。あなたは目隠しをした状態で、 表が上になっているコインの数が同じになるように、コインを2つの山に分けてください。

(8)斜辺が「10」で、90度角から斜辺に向かって伸びる垂直線が「6」という直角三角形の面積を求めよ。

(9)3人で旅行に出かけ、3万円のホテルに宿泊することとなり、1人1万円ずつ支払いました。ところが素泊まりであったため、部屋代は2万5千円で十分でした。従業員が返金を担当し、オーナーから5千円を渡されましたが、3で割り切れないからと2千円をくすねてしまい、3人にはそれぞれ1千円ずつ渡しました。
ところで、3人は宿泊代として9千円ずつ支払っているので合計は2万7千円になります。しかし、それに従業員の2千円をプラスすると2万9千円にしかなりません。あとの1千円は、どこにいってしまったのでしょう?










(1)5リットルの容器に水を5リットル入れ、それを3リットルの容器に満タンになるまで移します。
すると5リットルの容器に水が2リットル残ります。
3リットルの容器の水を全部捨てて、5リットルの容器に入っている水2リットルを3リットルの容器に移します。
そして5リットルの容器に水を5リットル入れてから、水が2リットル入っている3リットルの容器に水1リットルを移します。
すると5リットルの容器に4リットルの水が入っている状態になります。

(2)「こちらが天国への扉ですかと聞いたら、あなたはイエスと答えますか?」
その扉が天国への扉であったら、正直者は「イエス」と答えます。
嘘つきは、天国への扉なので「ノー」と答えるところ「イエスと答えますか?」と聞かれているので、さらにウソをつき「イエス」と答えます。
その扉が地獄への扉であったら、正直者は「ノー」と答えます。
嘘つきは、地獄への扉なので「イエス」と答えたいのに「イエスと答えますか?」と聞かれているので、それに対するウソをつくため「ノー」と答えます。
正直者と嘘つきのどちらに聞いても、同じ答えが返ってくる形になります。

(3)1本目のビンから1錠、2本目からは2錠、3本目からは3錠、4本目からは4錠、5本目からは5錠を取り出して重さを量ります。
すべて10グラムなら10+20+30+40+50=150グラムになるはずなので、何グラム不足するかで、どのビンの錠剤が9グラムなのかわかります。
たとえば2グラム足りなければ2本目であり、5グラム足りなければ5本目が汚染されたビンということになります。

(4)1回目の質問で「次の質問に、なんて答えますか?」と聞きます。
それに対し面接官が「はい」と答えたら、次の質問では「箱を開けてもいいですか?」と聞きます。
2回目の質問「箱を開けてもいいですか?」に対し、面接官は「はい」と答えますので、箱を開けます。
1回目の質問で面接官が「いいえ」と答えたら、次の質問では「箱を開けなくてもいいですか?」と聞きます。
2回目の質問「箱を開けなくてもいいですか?」に対し、面接官は「いいえ」と答えますので、箱を開けます。
3回目の質問は箱の中身を見て「中身は○○ですか?」と聞くと、面接官は「はい」と答えます。
これで、箱の中身の確認ができます。

(5)22回。
長針と短針は0時の時は0分に重なり、1時の時は5分過ぎに重なり、2時の時は11分頃に重なり、3時の時は16分頃に重なり・・・
と順に毎時重なっていくタイミングがありますが、11時の時は一度も重なる瞬間はなく12時ちょうどに重なることとなります。
12時間で11回しか重ならないので1日だと重なるのは22回になります。

(6)312211
前の行が、どんな構成なのかを説明しているスタイルです。
2行目は、1行目が「1」個「1」があることを表現しています。
3行目は、2行目が「2」個「1」があることを表現しています。
4行目は、3行目が「1」個「2」があり「1」個「1」があることを表現しています。
5行目は、4行目が「1」個「1」があり「1」個「2」があり「2」個「1」があることを表現しています。
そこで次の行である6行目は、5行目が「3」個「1」があり「2」個「2」があり「1」個「1」があることを表現します。

(7)10枚と90枚の2つのグループに分け、10枚の方のコインを全て裏返しにします。これで終わりです!
10枚のグループに表のコインが3枚あったとします。すると、90枚のグループには表のコインが7枚あります。
10枚のグループを全て裏返すと表のコインが7枚になり、90枚のグループの表のコインの枚数と同じになります。
10枚のグループに表のコインが10枚あったとします。すると、90枚のグループには表のコインが1枚もありません。
10枚のグループを全て裏返すと表のコインは0枚になり、90枚のグループと同じ状態になります。
10枚のグループに表のコインが1枚もなかったとします。すると、90枚のグループには表のコインが10枚あります。
10枚のグループを全て裏返すと表のコインは10枚になり、90枚のグループと同じ状態になります。
10枚のグループの表のコインの枚数が何枚であっても同じ結果になります。

(8)斜辺が「10」で、90度角から斜辺に向かって伸びる垂直線が「6」という直角三角形は、存在しません。
二等辺三角形であると、斜辺が「10」の場合の外接円の半径は「5」です。
したがって、斜辺に向かって伸びる垂直線の最大値は「5」になります。

(9)3人は9000円ずつ支払ったので、合計は2万7千円になります。
従業員の2千円は2万7千円に加算する金額ではなく減算する金額です。
オーナーが手にした2万5千円と従業員がくすねた2千円を合計すると、2万7千円になります。

論理構成

論理的な思考法は、論理的な文章を構成する方法を理解することで養うことができます。
文章構成のパターンとして「起承転結」や「序破急」といった様式がありますが、これらはどちらかというと物語の構成を表すもので作文技法と呼ばれます。
論文の構成としては「序論/本論/結論」という三部構成が一般的です。「序論」は論文全体の紹介に位置づけられ「何についての論文か」というテーマを記述します。
続けて「本論」でテーマを記述し、「結論」でテーマに対する総括を主張するという形です。
ところで、論文は結論を主張するために存在するという考え方もあります。
そこでまず主張すべきテーマを「結論」として明らかにし、その論拠を「本論」で述べ、それに続けて論拠を証明するためのデータ等を「傍証」として述べるスタイルがあります。
その場合の論文の構成は、「結論(主張)」「論拠」「傍証(データ)」という要素になります。
「結論」と「論拠」「傍証」の関係性として、演繹法と帰納法が挙げられます。

演繹法

「論拠」を基に「傍証」を展開して「結論」を得る方法です。
論拠を基に最初の前提から次の前提を導き、その繰り返しで最終的な結論へと結びつけます。
例>
(最初の前提)A社が作ったシステムは使いやすい
(次の前提) B社が使っているシステムは、A社が作っている
(結論)   B社が使っているシステムは、使いやすい
上述はいわゆる三段論法というものですが、前提を列挙しながら論理的に結び付けて最終的な結論に至るスタイルが演繹法です。

帰納法

「傍証」から「論拠」を導き出して「結論」に結びつける方法です。
観察したデータを基に結論を導くもので、観察するデータ量が多いほど確度が上がることになります。
例>
(データ) A社の会計システムは使いやすい
(データ) A社の給与システムは使いやすい
(データ) A社の販売システムは使いやすい
(論拠)  A社のシステムは、どれも使いやすいだろう
(結論)  A社の生産システムも使いやすいだろう

システム開発の現場では、演繹法と帰納法がケースバイケースで利用されます。
例えば、「数値が負の時、マイナス符号を付ける」という実装仕様に対するテストをする時、値に「-1」等のマイナス値から任意の数値を選択することと、その数値でテストをした結果「マイナス符号が出力される」ことは、演繹法の応用です。
また、プログラムに不具合があるとの報告を受けた時、どんな条件で発生するかの事例を集めて不具合原因を推測するという作業は、帰納法の活用です。

弁証法(正・反・合)

論理展開を行なう場合、弁証法の手法を使うことが有効なケースがあります。弁証法は古代ギリシャの頃から哲学用語として存在していましたが、現在ではヘーゲルやマルクスの弁証法が事象の変化や発展の過程を理解するための考え方として使われています。
論理の展開として利用するケースでは、ヘーゲルの弁証法を用い、次のような構成で組み立てます。
(正)テーゼ    あるテーマに対する一つの主張
(反)アンチテーゼ 最初の主張に反する反対の主張、最初の主張の否定あるいは矛盾の指摘
(合)ジンテーゼ  (正)(反)2つの主張を踏まえて導き出される結論

ユーザ要求を仕様として整理する場合に、この弁証法の手法を活用することができます。
例えば、「Aというカテゴリーの製品は、Bという温度設定で保管をしなければいけない」という要件がある時、次のアンチテーゼが考えられます。

1. Aカテゴリーの製品は全て、Bという温度設定で問題ないのか
2. Aカテゴリーの製品で、B以外の温度設定の場合、どうなるのか
3. A以外のカテゴリーは、温度設定を気にせず保管しても問題ないのか
4.    :
5.    :

要求(テーゼ)と1.2.3.~(アンチテーゼ)に対する調査分析を総合的に判断して得られた結論(ジンテーゼ)を仕様として決定します。

また、このアンチテーゼという視点は、レビュー作業においても有効です。
記載された内容(システム仕様など)に対するアンチテーゼを導き出してモレや矛盾が発生していないかを洗い出すことで記述内容の確からしさを評価することができます。

 ブログランキング・にほんブログ村へ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする